#pragma once

class CSmartPtr
{
public:
    static void testAutoPtr();
    static void testAutoPtr2();
    static void testUniquePtr3();
    static void testUniquePtr4();
    static void testUniquePtr5();
    static void testSharedPtr6();
    static void testSharedPtr7();
    static void testSharedPtr8();
    static void testWeakPtr8();
    static void testWeakPtr9();
    static void testSmartPtr10();
    static void testSmartPtr11();

private:
    CSmartPtr() = delete;
    ~CSmartPtr() = delete;
};